function animate(obj, target, callback) {
    //console.log(callback); callback = function () {} 调用的时候 callback()
    //obj.timer给不同的元素指定了不同的定时器
    //BUG：不断点击按钮，速度加快，解决方法：让元素只有一个定时器执行
    //先清除之前的定时器，只保留当前的定时器
    clearInterval(obj.timer);
  obj.timer = setInterval(function(){
      //步长值写到定时器里面 把步长值取整数
     // var step = (target - obj.offsetLeft) / 10; 有余数到不了500px
    // var step = Math.ceil ((target - obj.offsetLeft) / 10); 倒退的时候步长为负值需考虑
    var step = (target - obj.offsetLeft) / 10;
    step = step > 0 ? Math.ceil(step) : Math.floor(step);
    if (obj.offsetLeft == target) {
        //停止动画 本质是停止计时器
        clearInterval(obj.timer);
        //回调函数写到定时器结束里面
       // if(callback) {
            //调用函数
       //     callback();
       // }上面IF可以这么优化 短路运算符
       callback && callback();
    }
    //obj.style.left = obj.offsetLeft + 1 + 'px';
    //把1改为慢慢变小的值 
    obj.style.left = obj.offsetLeft + step + 'px';
  },15);
}